graph TB
    subgraph App["应用层 Application Layer"]
        A1[UserService]
        A2[FileService]
        A3[其他业务服务]
    end
    
    subgraph DB["数据库抽象层 Database Abstraction"]
        B1[DatabaseManager<br/>数据库管理器<br/>- 统一访问接口<br/>- 配置管理<br/>- 健康检查]
        B2[MySQLPool<br/>连接池<br/>- 连接复用<br/>- 自动重连]
        B3[ConfigManager<br/>配置管理<br/>- JSON配置<br/>- 配置验证]
    end
    
    subgraph Conn["连接层 Connection Layer"]
        C1[MySQL Connection<br/>sql::Connection<br/>连接状态管理]
        C2[Redis Connection<br/>hiredis<br/>Pub/Sub支持]
    end
    
    subgraph Physical["物理层 Physical Layer"]
        D1[(MySQL Server<br/>数据持久化<br/>ACID事务)]
        D2[(Redis Server<br/>内存缓存<br/>高速读写)]
    end
    
    A1 --> B1
    A2 --> B1
    A3 --> B1
    B1 --> B2
    B1 --> B3
    B2 --> C1
    B3 --> C2
    C1 --> D1
    C2 --> D2
    
    style App fill:#e1f5ff
    style DB fill:#fff4e1
    style Conn fill:#f0f0f0
    style Physical fill:#ffe1e1
